Surface cleaning device for generating surface identifying fingerprint

ABSTRACT

A surface cleaner is disclosed having abase moveable along a surface and an operating component configured to perform a function of the cleaner. The surface cleaner includes a sensor configured to generate a signal based on the surface and a controller in communication with the sensor and the operating component. The controller is operable to convert the signal from a time domain to a frequency domain to generate a surface fingerprint. Furthermore, the controller is operable to control the operating component based on the surface fingerprint.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a non-provisional filing of U.S. Provisional Application No. 62/769,348 filed Nov. 19, 2018, the contents of which are hereby incorporated by reference herein.

BACKGROUND

Surface cleaning devices, such as dry vacuums and wet extractors, are used to remove dirt, and other debris from a variety of surfaces, such as a carpet or hard floor. Typically, surface cleaners either rely on a user to manually engage an operational mode appropriate for the surface type being cleaned (e.g., hard floor mode, carpet mode) or automatically select a generic mode intended to be used for a range of similar variations of a particular surface type. Both conventional solutions can lead to inadequate cleaning of a surface and additional effort for the user.

BRIEF SUMMARY

A surface cleaner is disclosed having a base moveable along a surface and an operating component configured to perform a function of the cleaner. The surface cleaner includes a sensor configured to generate a signal based on the surface and a controller in communication with the sensor and the operating component. The controller is operable to convert the signal from a time domain to a frequency domain to generate a surface fingerprint. Furthermore, the controller is operable to control the operating component based on the surface fingerprint.

Also disclosed is a method for controlling a surface cleaner. The method includes the steps of receiving a signal from a sensor of the surface cleaner; converting the signal from a time domain to a frequency domain to generate a surface fingerprint for a surface; determining a mode of operation corresponding to the surface fingerprint; and controlling operation of the surface cleaner based on the mode of operation.

In another embodiment, a surface cleaner is provided having an operating component and a base moveable along a surface. The cleaner further includes an accelerometer configured to generate a signal and a controller in communication with the accelerometer and the operating component. The controller is operable to control the operating component based on the signal. The operating component is selected from a group consisting of a suction motor operable to generate an airflow, brushroll motor operable to drive a brushroll, an actuator operable to adjust a height of a brushroll from the surface, a pump operable to deliver a cleaning fluid, an actuator operable to control an airflow or fluid valve, and an indicator operable to indicate a parameter of the surface cleaner.

In yet another embodiment, a surface cleaner is provided. The surface cleaner has a base moveable along a surface and an operating component. The surface cleaner further includes a sensor configured to generate a signal and a controller in communication with the sensor and the operating component. The controller is programmed to receive a signal from a sensor of the surface cleaner; convert the signal from a time domain to a frequency domain to generate a surface fingerprint for a surface; determine a mode of operation corresponding to the surface fingerprint; and control operation of the operating component based on the mode of operation. The operating component is selected from a group consisting of a suction motor operable to generate an airflow, brushroll motor operable to drive a brushroll, an actuator operable to adjust a height of a brushroll from the surface, a pump operable to deliver a cleaning fluid, an actuator operable to control an airflow or fluid valve, and an indicator operable to indicate a parameter of the surface cleaner.

The features, functions, and advantages that have been discussed may be achieved independently in various embodiments of the device and methods described herein or may be combined with yet other embodiments, further details of which can be seen with reference to the following description and drawings.

BRIEF DESCRIPTION OF DRAWINGS

The foregoing and other advantages and features of the disclosure, and the manner in which the same are accomplished, will become more readily apparent upon consideration of the following detailed description of the disclosure taken in conjunction with the accompanying drawings, which illustrate embodiments of the disclosure and which are not necessarily drawn to scale, wherein:

FIG. 1 illustrates a perspective view of a surface cleaner, in accordance with one embodiment;

FIG. 2 illustrates a perspective view of a base assembly of a surface cleaner, in accordance with one embodiment;

FIG. 3 illustrates a bottom view of a surface cleaner, in accordance with one embodiment;

FIG. 4 illustrates block diagram of a surface cleaner control system, in accordance with one embodiment;

FIG. 5 provides a graphical depiction of a raw signal, in accordance with one embodiment;

FIG. 6 provides a graphical depiction of a processed signal surface fingerprint for a hard floor, in accordance with one embodiment;

FIG. 7 provides a graphical depiction of a processed signal surface fingerprint for a carpeted floor, in accordance with one embodiment;

FIG. 8 provides a networked system environment, in accordance with one embodiment; and

FIG. 9 provides a process map for generating a surface fingerprint and controlling operation of a surface cleaner, in accordance with one embodiment.

DETAILED DESCRIPTION

Embodiments of the present disclosure now may be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the disclosure are shown. Indeed, the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure may satisfy applicable legal requirements. Like numbers refer to like elements throughout.

It should be understood that “operatively coupled,” when used herein, means that the components may be formed integrally with each other, or may be formed separately and coupled together. Furthermore, “operatively coupled” means that the components may be formed directly to each other, or to each other with one or more components located between the components that are operatively coupled together. Furthermore, “operatively coupled” may mean that the components are detachable from each other, or that they are permanently coupled together. Furthermore, operatively coupled components may mean that the components retain at least some freedom of movement in one or more directions or may be rotated about an axis (i.e., rotationally coupled). Furthermore, “operatively coupled” may mean that components may be electronically connected and/or in fluid communication with one another.

As used herein, the term “operating component” may be used to refer to elements of a surface cleaner that are configured to be controlled for adjusting cleaning operation. An operating components may include a suction motor operable to generate an airflow, a brushroll motor operable to drive a brushroll, an actuator operable to adjust a height of a brushroll from the surface, a pump operable to deliver a cleaning fluid, an actuator operable to control an airflow or fluid valve, and/or an indicator operable to indicate a parameter of the surface cleaner.

As used herein, the term “computing resource” may be used to refer to elements of one or more computing devices, networks, or the like available to be used in the execution of tasks or processes. A computing resource may include processor, memory, or network bandwidth and/or power used for the execution of tasks or processes. A computing resource may be used to refer to available processing, memory, and/or network bandwidth and/or power of an individual computing device as well a plurality of computing devices that may operate as a collective for the execution of one or more tasks.

Also, it will be understood that, where possible, any of the advantages, features, functions, devices, and/or operational aspects of any of the embodiments of the present invention described and/or contemplated herein may be included in any of the other embodiments of the present invention described and/or contemplated herein, and/or vice versa. In addition, where possible, any terms expressed in the singular form herein are meant to also include the plural form and/or vice versa, unless explicitly stated otherwise. Accordingly, the terms “a” and/or “an” shall mean “one or more.”

FIGS. 1-3 illustrate a collection of views of a surface cleaner 10, in accordance with one embodiment of the invention. The surface cleaner 10, as depicted in the embodiment of FIGS. 1-3, is an upright vacuum cleaner. While an upright vacuum cleaner is depicted as an exemplary embodiment, it should be understood that other types of surface cleaners may be utilized such as canister vacuum cleaners, stick vacuum cleaners, carpet extractors, and the like. Prior surface cleaners typically have one, or a limited number of predetermined surface cleaner operational modes (e.g., carpet cleaning mode, hard floor cleaning mode) that must be manually implemented by a user. In contrast, based on analysis of a surface on which the surface cleaner 10 is cleaning, one embodiment of the surface cleaner 10 provided herein automatically controls one or more operating components of the surface cleaner 10 to provide an operational mode selected for the particular surface type. Furthermore, the surface cleaner 10 utilizes Fourier Transform or other signal processing techniques to allow for surface analysis and processing to occur in real-time as the surface cleaner travels from one surface type to another during operation.

As illustrated in FIG. 1, the illustrated surface cleaner 10 includes a base assembly 14 and an upright portion 18, wherein the upright portion 18 is operatively coupled to a portion of the base assembly 14. The upright portion 18 is typically pivotally coupled to the base assembly 14 allowing for pivoting movement of the upright portion 18 about the base assembly 14 in forwards and rearwards directions. The upright portion 18 further includes a handle 22 having a grip 26 for engaging with a hand of the user. The handle 22 is configured for propelling the base assembly 14 over the surface with a pair of wheels 86 as illustrated in FIGS. 2 and 3. In one embodiment, such as the illustrated embodiment of FIG. 3, the base assembly 14 further includes one or more supporting elements 90 or additional wheels or rollers for further supporting the base assembly 14 of the surface cleaner 10 on the surface.

In the illustrated embodiment, the base assembly 14 further includes a floor nozzle and brush assembly 58 configured for agitating and suctioning the surface to be cleaned. The floor nozzle and brush assembly 58 has an upper portion 62 and a lower portion 66 that form a suction chamber 70 therebetween. The lower portion 66 forms an inlet opening 74 that provides access to the suction chamber 70. A brushroll 94 is housed within the suction chamber 70 and is operatively coupled to a brushroll motor 108 via a drive belt 106, wherein the brushroll 94 is configured to be driven by the brushroll motor 108 to agitate debris on a surface using a plurality of tufted bristles 98 and/or other material constructions (e.g., microfiber cloth, rubber squeegee). The floor nozzle and brush assembly 58 and/or the brushroll 94 may include an actuator 59 configured to adjust the height of the floor nozzle and brush assembly 58 and/or brushroll 94 from the surface to be cleaned.

The surface cleaner 10 generally includes an airflow path formed by the inlet opening 74 of the suction chamber 70 which extends through an air outlet of the chamber 70 to an airflow separator 42 and suction motor 55 before terminating at an exhaust of the surface cleaner 10. In the illustrated embodiment, the upper portion 18 includes a hose 28 fluidly coupled to the nozzle outlet 82 of the base assembly 14. The hose 28 may include a wand 30 operatively coupled to an end of the hose 28, wherein the wand 30 is removably attached to the nozzle outlet 82. The upper portion 18 further includes an airflow separator 42 (e.g., a cyclonic separator, bag, and/or filter) configured for receiving an airflow from the hose 28 and separating dirt and debris from the airflow into a dirt cup 46. The surface cleaner 10 further has a motor housing 54 containing a suction motor 55. The suction motor 55 is configured to generate a suction airflow through the airflow pathway which is then exhausted from the surface cleaner 10. In the illustrated embodiment, the airflow pathway is formed by the inlet opening 74 of the base assembly 14 and extends through the hose 28 into the separator 42 and suction motor 55 before being exhausted from the surface cleaner 10. Alternatively, the wand 30 of the hose 28 may be detached from nozzle outlet 82 to provide an alternative inlet opening to the airflow pathway, wherein a user may utilize the wand 30 to clean a surface. One or more accessory tools 34 (e.g., a brush or nozzle) may be attached to an end of the wand 30 to aid in cleaning.

Surface cleaners may be configured for use across a range of surface types (e.g., carpet and hard floors). As one example, a cleaner may be provided with a number of predetermined suction settings and/or brushroll or nozzle heights that may be manually adjusted by a user depending on the surface being cleaned. For example, a user may choose to raise a brushroll or nozzle height when transitioning with a surface cleaner from a hardwood floor to a high-pile carpet upon experiencing an increased resistance to movement of the surface cleaner along the surface as a result of increased suction and/or brushroll contact with the carpet when compared to the hardwood floor. However, the user may not know which settings are effective for cleaning the surface while still allowing for ease of movement of the surface cleaner. Further, the user may be burdened by being required to remember settings for various surfaces and needing to repeatedly adjust the surface cleaner settings when transitioning between, sometimes multiple, surface types. To overcome these challenges, the surface cleaner 10 described herein is further configured to identify a surface, determine one or more operational settings for the surface cleaner based on the identified surface, and control operation of the surface cleaner to enact the one or more settings.

The surface cleaner 10 includes a sensor 110 operatively coupled to a portion of the surface cleaner 10. In the illustrated embodiment, the sensor 110 is positioned adjacent the brushroll motor 108 on the base assembly 14. The sensor 110 is electronically coupled to a printed circuit board (PCB) controller 112 housed within a portion of the surface cleaner 10 (e.g., in the base assembly 14), wherein the controller 112 further comprises a processor, a memory, and a set of computer-based instructions stored in the memory to be executed by the processor for operation and control of components of the surface cleaner 10. Alternatively, the controller 112 is an integrated circuit having designed circuit portions to perform the described functions of the controller 112 as described herein.

The sensor 110 is configured for generating a signal based on the surface on which the surface cleaner 10 is traveling and/or cleaning. The sensor 110 may be a current sensor, pressure sensor, accelerometer, Hall Effect sensor, microphone, optical or infrared sensor, image capturing device (e.g., a camera), or the like. The sensor 110 may be a piezoelectric sensor. We have found that the sensor provides a different signal when on one surface than another. As such, the signal may be used to identify a particular surface type on which the surface cleaner 10 is travelling and/or cleaning. For example, the signal may vary representative of carpet type of surface (e.g., low pile, high pile, shag, commercial) or hard floor type of surface (e.g., hardwood, tile, concrete, marble). Further, the signal may indicate a surface condition of the surface such as the presence of dirt or debris, debris type, dirt particle size, debris size, and the like. In some embodiments, the signal is an output from a single sensor or may include outputs from two or more sensors. Multiple sensors may each output individual signals which may be used either individually or in combination to characterize a surface being cleaned. In some embodiments, the signal is a time-dependent signal, wherein the controller 112 monitors a signal collected by a sensor 110 over a period of time to determine changes in an observed measurement (e.g., current, pressure, vibrational force). FIG. 5 illustrates an example of a time-dependent signal collected by a sensor 10 over a period of time.

The signal is processed by the controller 112 to generate a surface fingerprint of a surface and enable the observation of subtle distinguishing characteristics of the signal that are not discernible from the signal in an unprocessed state. A surface fingerprint is a distinct representation of a particular surface that can be used to accurately identify the surface, surface type (e.g., low-pile carpet, high-pile carpet, tile, hardwood), and/or surface condition (e.g., presence of debris, debris type, debris size). In some embodiments, a time-dependent signal is collected and processed by the controller 112 to generate a surface fingerprint and characterize a surface on which the surface cleaner 10 is traveling and/or cleaning to determine adjustments to the operational components of the surface cleaner 10. The signal is processed by the controller 112 in order to enhance signal fidelity (e.g., background noise reduction, baseline correction) and emphasize or detect spectral components, such as frequency components, of interest in a measured signal. In one example, the surface fingerprint is based on the frequency spectrum of the signal.

FIG. 6 and FIG. 7 illustrate signals processed by the controller 112 for hardwood and carpeted floors, respectively. The processed signals have reduced background noise compared to the raw signal of FIG. 5 allowing for identifiable signal characteristics (e.g., peaks) to become distinguishable in the processed signal spectrum, for example, in the 0-200 Hz range of the processed signals. As the processed signals present different peak locations and intensities for different surfaces, the processed signals may be used as surface fingerprints to identify the different surface types. Processed signal characterization techniques used for surface identification may include peak presence detection and/or peak intensity measurement. Other techniques include comparison of spectral components relative to one another, such as measuring peak intensity ratios of a first spectral component to one or more other spectral components and/or identifying spectral components within certain frequency ranges. In some embodiments, one peak, multiple peaks, and/or other spectral components of the processed signal may be used to characterize the processed signal and identify an associated surface. In some embodiments a pattern of multiple peaks is used to characterize a signal and identify a surface.

In one embodiment, the signal is processed by the controller 112 using a Fourier Transform algorithm to generate a surface fingerprint and identify a surface. Application of the Fourier Transform algorithm transforms the signal from a time domain to a frequency domain. By leveraging a Fourier Transformation method, signal processing times may be reduced (e.g., 2-3 seconds), however signal collection and processing times may be increased to improve signal resolution. Furthermore, Fourier Transformation allows for more efficient processing of the signal thereby requiring fewer computing resources, which instead may be used for other tasks. It should be understood that signal processing is not limited to a single signal processing algorithm and that other algorithms (e.g., Hartley Transform) are contemplated herein.

After the controller 112 generates a surface fingerprint for the surface the cleaner is operating on, the controller 112 compares and matches the generated surface fingerprint to one or more reference fingerprints in order to identify the surface type associated with the generated surface fingerprint. A reference fingerprint is a pre-generated surface fingerprint of a known surface or surface condition that is stored in a reference library. The known surface or surface condition and an associated reference fingerprint correspond to a set of parameters and signal characteristics of a previously identified surface or surface condition. Newly collected and generated surface fingerprints can be compared to a plurality of reference fingerprints by determining similarities between the generated surface fingerprint and the reference fingerprint. The controller 112 compares the frequency spectrum and/or peak locations and intensities between the generated surface fingerprint and one or more reference fingerprints in the reference library. A reference library may be populated with reference fingerprints prepared from empirical study of floor cleaning machines operating on floor surfaces by floor cleaner manufacturers, flooring manufacturers and/or other users as various surface type data is collected and compiled from a plurality of reference surfaces.

During the comparison between the generated surface fingerprint and the reference fingerprint, the controller 112 determines a best match of the surface fingerprint to a reference fingerprint by accounting for variations between the surface fingerprint and the reference fingerprint signals (e.g., peak shifts) through application of a margin for match error (e.g., less than 5% or 10% difference or other predetermined match error as desired) or a probability analysis (e.g. having a match confidence greater than 85%, or other predetermined confidence level as desired). Upon finding the best match, the controller may control the cleaner based on the surface type associated with the reference fingerprint. In one embodiment, the generated surface fingerprint is compared to reference fingerprints using coherence analysis, correlation analysis, or any other comparative technique. In another embodiment, peak values and/or other parameters extracted from the generated surface fingerprint are compared to reference values or thresholds in order to match the generated surface fingerprint with a reference fingerprint.

The surface cleaner selects the surface type of the best match reference fingerprint to represent the surface the cleaner is operating on. The cleaner then associates the surface type or surface condition corresponding to the selected best match reference fingerprint with operational settings corresponding to the selected surface. The reference library may include recommended cleaning parameters for each reference fingerprint whereby the controller determines operational settings for the cleaner as a function of one or more of the recommended cleaning parameters. In another embodiment, the controller selects operational settings among preprogrammed settings corresponding to the surface type or condition of the selected best match reference fingerprint. If the controller is unable to find a best match, for example, the match error is higher or confidence level is lower than predetermined thresholds, the controller may operate in a default cleaning mode. In one alternative, if the controller is unable to find a best match, the user is alerted via a user interface such as an indicator light or a graphic display, whereupon the user may manually select an operational mode.

In one embodiment, the reference library is stored on the surface cleaner 10. In an alternative embodiment, as illustrated in FIG. 8, a communication device 114 of a surface cleaner 10 is in communication via a network 800 with a reference library 810 storing one or more reference fingerprints 815, wherein the surface cleaner 10 accesses the reference library 810 over the network 800 to match a generated surface fingerprint with one or more of the reference fingerprints 815 stored in the reference library 810. The network 101 may also be a global area network (GAN), such as the Internet, a wide area network (WAN), a local area network (LAN), or any other type of network or combination of networks. In another embodiment, the surface cleaner 10 may establish a constant connection with the reference library 810. In yet another embodiment, a surface cleaner 10 accesses an external reference library 810 via a network 800 to download one or more reference fingerprints 815 from the external reference library 800 and store the reference fingerprints 815 in a memory of the surface cleaner 10. In one example, the surface cleaner saves each best match reference fingerprint from the external reference library into its internal memory for faster look-up during operation and accesses the network 800 when the internally stored reference fingerprints are not a best match for the generated surface fingerprint under comparison.

The controller may adjust operational settings of one or more of the functions of the cleaner based on the identified surface. The speed of the suction motor 55 may be increased or decreased to vary suction, the brushroll motor 108 and thereby the speed of the brushroll may be increased or decreased or turned off to vary surface agitation. The controller may control a pump for dispensing fluid. The controller may control an actuator. Various actuators may be provided for activating a height adjustment mechanism for raising and lowering the nozzle, activating a bleed valve for increasing or decreasing nozzle pressure, or for activating other features of the cleaner. The signal is received by the controller 112, which determines operational settings of the surface cleaner 10 based on the signal and subsequently controls portions of the surface cleaner 10 (e.g., suction motor 55, brushroll motor 108) to operate the surface cleaner 10 according to the operational settings. In one embodiment, the operational settings may be a mode of operation specific to operating the surface cleaner 10 on a particular surface to be cleaned (e.g., low-pile carpet mode, high-pile carpet mode, tile mode, hardwood mode). For one example, the brushroll motor speed may be predetermined for each mode based on desired operation of the brushroll when used in an environment or situation corresponding to the mode of operation.

In one embodiment, a sensor 110 is configured to sense and determine a current supplied to the brushroll motor 108 and generate a signal that is sent to the controller 112 corresponding to the current. A surface fingerprint is generated using the received signal. The controller 112 matches the generated surface fingerprint with a reference fingerprint. Based on matching the surface fingerprint to the reference fingerprint, the controller 112 adjusts operation of one or more components of the surface cleaner 10 according to the surface type or condition of the selected reference fingerprint. In one example, the controller 112 controls a height of the brushroll 94 based on operational settings associated with the reference fingerprint and the signal from the sensor 110 indicating an increased brushroll motor current. The increased brushroll motor current may be a result of the brushroll 94 experiencing increased mechanical resistance from a contacted surface (e.g., high-pile carpet), wherein the brushroll motor is supplied with an increased current in order to maintain the brushroll 94 at a constant rotational speed. By raising a height of the brushroll 94, an amount of resistance experienced by the brushroll 94 from contacting the surface may be reduced thereby also reducing the power required by the brushroll motor 108 to maintain the constant rotational speed.

In another embodiment, the sensor 110 is a pressure sensor configured to measure a pressure value within at least a portion of the airflow path of the surface cleaner 10 and generate a signal that is sent to the controller 112. In one example, the signal indicates pressure variation in the airflow pathway due to suction from the inlet opening being close to a surface to be cleaned. A surface fingerprint is generated using the received signal. The controller 112 matches the generated surface fingerprint with a reference fingerprint for the surface type (e.g. a high-pile carpet). In response to identifying the surface type from the reference fingerprint, the controller 112 controls the power supplied to the suction motor 55 according to the surface type or condition of the selected best match reference fingerprint. Alternatively, the controller 112 may be further configured to control a height of the brushroll 94 and/or floor nozzle 58 according to the signal from the pressure sensor, whereby raising the height of the brushroll 94 and/or floor nozzle 58 relieves excessive suction experienced by the surface cleaner 10 on the surface and allow for easier movement of the surface cleaner 10 across the surface.

In yet another embodiment, the sensor 110 is an accelerometer configured to detect and measure proper acceleration of the surface cleaner 10, particularly vibrations within or of components of the surface cleaner 10 (e.g., base assembly 14, motor housing 54, suction motor 55, suction chamber 70, etc.) during operation. A signal is transmitted from the accelerometer to the controller 112 and a surface fingerprint is generated. Based on determining a match of the generated surface fingerprint to a reference fingerprint, the controller 112 is configured to control one or more components of the surface cleaner 10 according to the surface type or condition of the selected best match reference fingerprint. In one embodiment, an accelerometer monitors vibrations within at least a portion of the surface cleaner 10 and regularly transmits a signal to the controller 112 indicating a monitored vibrational force corresponding to surface type and/or condition. Alternatively, the controller 112 may be further configured to control operation of one or more of the components of the surface cleaner 10 to reduce the detected vibrations in conditions under which the accelerometer transmits a signal indicative of a vibrational force that is greater than desired for the surface cleaner 10, one or more of its components, or its operation. For one example, increased vibrational force produced by operation of the suction motor 55 may indicate decreased performance of the suction motor 55 on a particular surface, wherein the suction motor 55 is operating under an increased load (i.e., high-pile carpet). In response, the controller 112 controls operation of one or more of the components of the surface cleaner 10 to reduce the detected vibrations and relieve stress on the suction motor 55. Similarly, an accelerometer may be used to measure vibrations produced by a brushroll motor 108.

In another embodiment, an accelerometer is positioned on a portion of the base assembly 13 adjacent the brushroll 94 and configured to detect and measure vibrations produced by the brushroll 94 in response to contacting a surface. For example, an increase in vibrational force generated by the brushroll 94 may indicate increasing resistive force experienced by the brushroll 94 on the surface (e.g., from high carpet piling, a rough surface, or debris). In response, the accelerometer generates a signal that is transmitted to the controller 112, which controls operation of the surface cleaner 10 based on the accelerometer signal. For example, the controller 112 may change the brushroll 94 height or change a supplied power to the brushroll motor 108 to reduce the detected vibrations. In one embodiment, the controller 112 may increase a supplied current to the brushroll motor 108 in order to overcome an excessive resistive force experienced by the brushroll 94 which may be caused by engagement of the brushroll to the surface.

In yet another embodiment, an accelerometer is placed on or adjacent to an airflow separator 42 and/or dirt cup 46, wherein the accelerometer is configured to detect and measure vibrations within the airflow separator 42 and/or dirt cup 46 caused by collected debris striking the sides of airflow separator 42 and/or dirt cup 46. In response to a signal generated by the accelerometer, the controller 112 may change a mode of operation of the surface cleaner 10 suited for collecting the debris. For example, the controller 112 may increase suction from the suction motor 55 to better collect large-sized debris or an excessive amount of debris detected on a particularly dirty surface. In another example, the signal produced by the accelerometer in the airflow separator 42 and/or dirt cup 46 may indicate the presence of a large or foreign object collected by the surface cleaner 10 (e.g., a coin, a small toy, jewelry), wherein the controller 112 may cease operation of the suction motor 55 and provide an indication to the user of the presence of the large or foreign object.

In yet another embodiment, an accelerometer is positioned on the surface cleaner 10 and configured to detect and measure rotational fluctuations of the suction motor through changes in a vibrational force produced by the suction motor. A detected change in the rotation of the suction motor may indicate a blockage in the airflow pathway or a dirty filter, wherein the rotation of the suction motor is altered due to an airflow being at least partially blocked or choked.

In yet another embodiment, accelerometer is positioned on the surface cleaner 10 and configured to determine motion of the surface cleaner 10 on the surface. In response to determining that the surface cleaner 10 has stopped moving over the surface, the accelerometer transmits a signal to the controller 112. The controller 112 is configured to control an operating component of the surface cleaner 10 in response to receiving the signal. For example, the controller 112 may stop the suction motor 55 or brushroll motor 108 or stop distribution of liquid from a pump in response to determining that the surface cleaner 10 has stopped moving on the surface. Similarly, the controller 112 may start operation of the suction motor 55, brushroll motor 108, or pump in response to determining that the surface cleaner has started moving on the surface.

It should be understood that the accelerometer may be positioned in or adjacent to any portion of the airflow pathway or within or on any portion of the surface cleaner 10 body to detect vibration produced by any operating component of the surface cleaner 10. In some embodiments, the controller 112 generates a surface fingerprint based on the signal produced by an accelerometer and matches the surface fingerprint to a reference fingerprint to identify a surface or operating condition and control operation of the surface cleaner 10 as described herein.

In another embodiment, the controller 112 is in communication with an indicator of the surface cleaner 110. An indicator may include one or more lights, displays, speakers, or the like for providing an indication or information associated with a parameter of surface cleaner 10. For example, the indicator may display an identified surface type or condition of the surface on which the surface cleaner 10 is traveling. In another example, the indicator may display a status of an operating component of the surface cleaner 10 to the user (e.g., distributing fluid with a pump). In yet another example, the indicator may indicate a reduction in airflow due to a dirty filter or other airflow pathway blockage.

FIG. 9 provides a high level process map for generating a surface fingerprint and controlling operation of a surface cleaner, in accordance with one embodiment. Initially, a surface cleaner 10 is powered on and moved along a surface. A sensor 110 of the surface cleaner 10 produces a signal based on the conditions of the surface or conditions produced within the surface cleaner 10 as a results of operating on the surface. At block 902, a controller 112 of the surface cleaner 10 receives the signal from the sensor 110 of the surface cleaner 10. In response, the controller 112 processes the signal (e.g., using a Fourier Transform or other algorithm), which in one embodiment includes converting the signal from a time domain to a frequency domain, and generates a surface fingerprint for a surface based on the frequency spectrum of the signal as illustrated in block 904.

At block 906, the controller 112 matches the surface fingerprint to a reference fingerprint representing a reference surface. In one embodiment, based on successfully matching the surface fingerprint to a reference fingerprint, the controller 112 determines a mode of operation corresponding to the reference fingerprint as illustrated in block 908. For example, if the matched reference fingerprint is for a low-pile, carpeted floor, the controller 112 determines a mode of operation for cleaning a low-pile, carpeted floor which may include adjusting operation of one or more of a suction motor 55, brushroll motor 108, an actuator, a pump, and/or brushroll 94.

At block 910, the controller 112 controls operation of one or more operating components of the surface cleaner 10 based on the reference fingerprint in order to clean the surface. In one embodiment, the controller controls operation of one or more operating components based on a determined mode of operation 908. Controlling operation may include adjusting power supplied to one or both of the suction motor 55 and brushroll motor 108 or adjusting the height of the floor nozzle and brush assembly 58 via an actuator 59. In some embodiments, the controller 112 automatically determines a mode of operation and controls operation of the surface cleaner 10 without additional user input. Calculations are performed in real-time by the controller 112 and/or additional systems described herein as the surface cleaner 10 travels along a surface. In this way, the surface cleaner 110 may travel between surfaces and automatically adjust operation based on each surface

In one embodiment, a surface cleaner is provided, the surface cleaner comprising: a base moveable along a surface; an operating component configured to perform a function of the cleaner; a sensor configured to generate a signal based on the surface; and a controller in communication with the sensor and the operating component, wherein the controller is operable to convert the signal from a time domain to a frequency domain to generate a surface fingerprint, and wherein the controller is operable to control the operating component based on the surface fingerprint. In one aspect, the operating component is selected from a group consisting of a suction motor operable to generate an airflow, brushroll motor operable to drive a brushroll, an actuator operable to adjust a height of a brushroll from the surface, a pump operable to deliver a cleaning fluid, an actuator operable to control an airflow or fluid valve, and an indicator operable to indicate a parameter of the surface cleaner. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, the sensor is an accelerometer. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, the sensor is a piezoelectric device. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, the sensor measures a current supplied to the operating component. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, the surface fingerprint is a transformation of the signal. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, the transformation is a Fourier transformation. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, the controller is operable to match the surface fingerprint to a reference fingerprint from a reference library. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, the reference fingerprint is representative of a known surface. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, the reference fingerprint is representative of a known surface condition. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, the controller is operable to control operation of the operating component in a mode of operation corresponding to the reference fingerprint. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, the sensor is a first sensor and the signal is a first signal, and wherein the surface cleaner further comprising a second sensor in communication with the controller, the second sensor configured to generate a second signal, wherein the controller is operable to process the first signal and the second signal to generate the surface fingerprint.

In another embodiment, a method for controlling a surface cleaner is provided, the method comprising: receiving a signal from a sensor of the surface cleaner; converting the signal from a time domain to a frequency domain to generate a surface fingerprint for a surface; determining a mode of operation corresponding to the surface fingerprint; and controlling operation of the surface cleaner based on the mode of operation. In one aspect, controlling operation of the surface cleaner comprises controlling an operating component selected from a group consisting of a suction motor operable to generate an airflow, brushroll motor operable to drive a brushroll, an actuator operable to adjust a height of a brushroll from the surface, a pump operable to deliver a cleaning fluid, an actuator operable to control an airflow or fluid valve, and an indicator operable to indicate a parameter of the surface cleaner. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, receiving the signal from the sensor comprises receiving the signal from an accelerometer. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, receiving the signal from the sensor comprises receiving the signal from a piezoelectric device. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, converting the signal comprises generating a transformation of the signal. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, generating the transformation of the signal comprises generating a Fourier transformation of the signal. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, the sensor is a first sensor and the signal is a first signal, and wherein generating the surface fingerprint further comprises: receiving a second signal from a second sensor in communication with the controller; and processing the first signal and the second signal to generate the surface fingerprint. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, matching the surface fingerprint to a reference fingerprint representing a reference surface. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, matching the surface fingerprint to the reference fingerprint further comprises matching the surface fingerprint to the reference fingerprint from a library of reference fingerprints stored on the surface cleaner. In another aspect, alone or in combination with any one of the previous aspects or any combination thereof, the surface cleaner is connected to a network and matching the surface fingerprint to the reference fingerprint further comprises the surface cleaner communicating with an external library of reference fingerprints over the network.

In yet another embodiment, a surface cleaner is provided, the surface cleaner comprising: an operating component; a base moveable along a surface; an accelerometer configured to generate a signal; and a controller in communication with the accelerometer and the operating component, wherein the controller is operable to control the operating component based on the signal, and wherein the operating component is selected from a group consisting of a suction motor operable to generate an airflow, brushroll motor operable to drive a brushroll, an actuator operable to adjust a height of a brushroll from the surface, a pump operable to deliver a cleaning fluid, an actuator operable to control an airflow or fluid valve, and an indicator operable to indicate a parameter of the surface cleaner.

In yet another embodiment, a surface cleaner is provided, the surface cleaner comprising: a base moveable along a surface; an operating component; a sensor configured to generate a signal; and a controller in communication with the sensor and the operating component, wherein the controller is programmed to: receive a signal from a sensor of the surface cleaner; convert the signal from a time domain to a frequency domain to generate a surface fingerprint for a surface; determine a mode of operation corresponding to the surface fingerprint; and control operation of the operating component based on the mode of operation, and wherein the operating component is selected from a group consisting of a suction motor operable to generate an airflow, brushroll motor operable to drive a brushroll, an actuator operable to adjust a height of a brushroll from the surface, a pump operable to deliver a cleaning fluid, an actuator operable to control an airflow or fluid valve, and an indicator operable to indicate a parameter of the surface cleaner.

While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that this invention not be limited to the specific constructions and arrangements shown and described, since various other changes, combinations, omissions, modifications and substitutions, in addition to those set forth in the above paragraphs, are possible. Those skilled in the art will appreciate that various adaptations, modifications, and combinations of the just described embodiments can be configured without departing from the scope and spirit of the invention. Therefore, it is to be understood that, within the scope of the appended claims, the invention may be practiced other than as specifically described herein. 

1. A surface cleaner comprising: a base moveable along a surface; an operating component configured to perform a function of the surface cleaner; a sensor configured to generate a signal based on the surface; and a controller in communication with the sensor and the operating component, wherein the controller is operable to convert the signal from a time domain to a frequency domain to generate a surface fingerprint, wherein the controller is operable to control the operating component based on the surface fingerprint; and wherein the operating component is selected from a group consisting of a suction motor operable to generate an airflow, a brushroll motor operable to drive a brushroll, an actuator operable to adjust a height of a brushroll from the surface, a pump operable to deliver a cleaning fluid, an actuator operable to control an airflow or fluid valve, and an indicator operable to indicate a parameter of the surface cleaner.
 2. (canceled)
 3. The surface cleaner of claim 1, wherein the sensor is an accelerometer.
 4. The surface cleaner of claim 1, wherein the sensor is a piezoelectric device.
 5. The surface cleaner of claim 1, wherein the sensor measures a current supplied to the operating component.
 6. The surface cleaner of claim 1, wherein the surface fingerprint is a transformation of the signal.
 7. The surface cleaner of claim 6, wherein the transformation is a Fourier transformation.
 8. The surface cleaner of claim 1, wherein the controller is operable to match the surface fingerprint to a reference fingerprint from a reference library.
 9. The surface cleaner of claim 8, wherein the reference fingerprint is representative of a known surface.
 10. The surface cleaner of claim 8, wherein the reference fingerprint is representative of a known surface condition.
 11. The surface cleaner of claim 8, wherein the controller is operable to control operation of the operating component in a mode of operation corresponding to the reference fingerprint.
 12. The surface cleaner of claim 1 wherein the sensor is a first sensor and the signal is a first signal, and wherein the surface cleaner further comprising a second sensor in communication with the controller, the second sensor configured to generate a second signal, wherein the controller is operable to process the first signal and the second signal to generate the surface fingerprint.
 13. A method for controlling a surface cleaner, the method comprising: receiving a signal from a sensor of the surface cleaner; converting the signal from a time domain to a frequency domain to generate a surface fingerprint for a surface; determining a mode of operation corresponding to the surface fingerprint; and controlling operation of the surface cleaner based on the mode of operation, wherein controlling operation of the surface cleaner comprises controlling an operating component selected from a group consisting of a suction motor operable to generate an airflow, brushroll motor operable to drive a brushroll, an actuator operable to adjust a height of a brushroll from the surface, a pump operable to deliver a cleaning fluid, an actuator operable to control an airflow or fluid valve, and an indicator operable to indicate a parameter of the surface cleaner.
 14. (canceled)
 15. The method of claim 13, wherein receiving the signal from the sensor comprises receiving the signal from an accelerometer.
 16. The method of claim 13, wherein receiving the signal from the sensor comprises receiving the signal from a piezoelectric device.
 17. The method of claim 13, wherein converting the signal comprises generating a transformation of the signal.
 18. The method of claim 17, wherein generating the transformation of the signal comprises generating a Fourier transformation of the signal.
 19. The method of claim 13, wherein the sensor is a first sensor and the signal is a first signal, and wherein generating the surface fingerprint further comprises: receiving a second signal from a second sensor in communication with the controller; and processing the first signal and the second signal to generate the surface fingerprint.
 20. The method of claim 13 further comprising matching the surface fingerprint to a reference fingerprint representing a reference surface.
 21. The method of claim 20, wherein matching the surface fingerprint to the reference fingerprint further comprises matching the surface fingerprint to the reference fingerprint from a library of reference fingerprints stored on the surface cleaner.
 22. The method of claim 20, wherein the surface cleaner is connected to a network and matching the surface fingerprint to the reference fingerprint further comprises the surface cleaner communicating with an external library of reference fingerprints over the network.
 23. A surface cleaner comprising: an operating component configured to perform a function of the surface cleaner; a base moveable along a surface; an accelerometer configured to generate a signal; and a controller in communication with the accelerometer and the operating component, wherein the controller is operable to convert the signal from a time domain to a frequency domain to generate a surface fingerprint, wherein the controller is operable to control the operating component based on the surface fingerprint, and wherein the operating component is selected from a group consisting of a suction motor operable to generate an airflow, brushroll motor operable to drive a brushroll, an actuator operable to adjust a height of a brushroll from the surface, a pump operable to deliver a cleaning fluid, an actuator operable to control an airflow or fluid valve, and an indicator operable to indicate a parameter of the surface cleaner.
 24. A surface cleaner comprising: a base moveable along a surface; an operating component configured to perform a function of the surface cleaner; a sensor configured to generate a signal; and a controller in communication with the sensor and the operating component, wherein the controller is programmed to: receive a signal from a sensor of the surface cleaner; convert the signal from a time domain to a frequency domain to generate a surface fingerprint for a surface; determine a mode of operation corresponding to the surface fingerprint; and control operation of the operating component based on the mode of operation, and wherein the operating component is selected from a group consisting of a suction motor operable to generate an airflow, brushroll motor operable to drive a brushroll, an actuator operable to adjust a height of a brushroll from the surface, a pump operable to deliver a cleaning fluid, an actuator operable to control an airflow or fluid valve, and an indicator operable to indicate a parameter of the surface cleaner. 